import { _decorator, Color, Component, LabelComponent, Node, Sprite } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('Tile')
export class Tile extends Component {
    @property(Sprite) bg:Sprite = null;
    @property(LabelComponent) txtNum:LabelComponent = null;

    public init(num:number){
        this.txtNum.string = num.toString();
        this.setColor(num);
    }
    private setColor(num: number) {
        let color: Color;
        switch (num) {
            case 2: // 2^1
                color = new Color(255, 255, 217); // 浅黄色
                break;
            case 4: // 2^2
                color = new Color(255, 255, 178); // 浅橙色
                break;
            case 8: // 2^3
                color = new Color(255, 217, 102); // 橙色
                break;
            case 16: // 2^4
                color = new Color(255, 178, 102); // 深橙色
                break;
            case 32: // 2^5
                color = new Color(245, 137, 0); // 金色
                break;
            case 64: // 2^6
                color = new Color(255, 102, 102); // 浅红色
                break;
            case 128: // 2^7
                color = new Color(255, 6, 55); // 红色
                break;
            case 256: // 2^8
                color = new Color(236, 0, 140); // 紫色
                break;
            case 512: // 2^9
                color = new Color(200, 3, 18); // 深紫色
                break;
            case 1024: // 2^10
                color = new Color(0, 95, 87); // 绿色
                break;
            case 2048: // 2^11
                color = new Color(0, 122, 255); // 浅蓝色
                break;
            // 可以继续添加更多的case来表示更大的数字
            default:
                color = new Color(238, 238, 236); // 默认颜色，灰色
                break;
        }
        this.bg.color = color;
    }
}


